Skip to content

Conversation

@sosthene-nitrokey
Copy link
Contributor

@sosthene-nitrokey sosthene-nitrokey commented Jun 19, 2025

Built on top of #110 and #101

This will also allow for more flexible `Storage` implementations
that use `Vec<u8>` as a cache buffer and are not fixed to a single block size
The previous `RefCell` was only dealing with a pointer and the data was always
held by the lfs side so the checking from the refcell was useless anyways

This also contains a breaking change because the `unsafe` `open` function
did not take the correct lifetime.

It think it's an acceptable breaking change because the previous behaviour was buggy
and any code that depends on it likely has a use after free.
`Filesystem` is still `!Sync`, so this allows putting the filesystem behind a `Mutex`
and sharing it across threads but still prevents concurrent operations from multiple threads.

See #108 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants